1. Field of the Invention
The present invention relates to a rate matching calculation method and rate matching apparatus suitable for use in a radio apparatus in a digital mobile communication system.
2. Description of the Related Art
Specification TS25.212 Ver.3.1.0 of 3rd Generation Partnership Project (3GPP) that is a standard organization of the 3rd generation digital mobile communication has regulations concerning a rate matching apparatus, which contains a calculation expressed by the following equation (1):                               Z          ij                =                                            ⌊                                                                                                                  ∑                                                  m                          =                          1                                                i                                            ⁢                                              RM                        m                                                  ∥                          b                                                                                      ⁣                                          ·                                              N                        mj                                                                                                                        ∑                                              m                        =                        1                                            I                                        ⁢                                                                  RM                                                  m                                                      ∥                            a                                                                                              ·                                              N                        mj                                                                                            ·                                  N                                      dataj                                          ∥                      c                                                                                  ⌋                        ⁢                                                   ⁢            for            ⁢                                                   ⁢            alli                    =                      1            ⁢                                                   ⁢            …            ⁢                                                   ⁢            I                                              (        1        )            whereRMi: rate matching attribute of TrCH#i                Ni,j: the number of bits per frame on TrCH#i        Ndata,j: the number of bits on CCTrCH        ΔNi,j: the number of increase or decrease bits on TrCH#i.        
The importance of the equation (1) is explained herein.
When data items to be transmitted are simply arranged on a frame for each TrCH, there is a possibility that a bit is out of the frame, or that the frame only contains data items whose number is less than the number of data items capable of being transmitted in the frame. For example, it is assumed to using frames each with 1200 bits as the data, transmit TrCH#0 where the number of bits to be transmitted on a frame is 700, and transmit TrCH#1 where the number of bits to be transmitted on a frame is 600.
For example, it is assumed to transmit (a frame with) the data having 1200 bits, using TrcH#0 having a frame with 700 bits and TrCH#1 having a frame with 600 bits.
If TrCH#0 and TrCH#1 are transmitted without performing any processing, data of 100 bits is left (not transmitted). Then, in order to arrange TrCH#0 and TrCH#1 within a frame (1200 bits), the equation (1) is used to calculate the number of increase or decrease bits for each TrCH.
Further, in the equation (1), RMi that is a weight for each TrCH is considered, and therefore it is possible to perform the operation for increasing or decreasing the number of bits corresponding to “the importance indicated by RMi” of TrCH#0 and TrCH#1. That is, the equation (1) is such an equation that calculates the number of increase or decrease bits for each TrCH corresponding to the importance of each TrCH to be transmitted at the same time, in order to set the total number of data items on all TrCH to the number of bits per frame.
If a base station apparatus and mobile station have the different calculation results of the equation (1), i.e., the different numbers of increase or decrease bits, TrCH is not separated at a correct portion on data of a frame. Further, rate matching parameters (for use in performing rate matching processing for thinning or repeating data) which are calculated based on the number of increase or decrease bits obtained in the equation (1) become incorrect, and as a result, data cannot be decoded even when the error correction is performed. Thus, the equation (1) has an important role in both transmitting and receiving data.
The rate matching apparatus calculates the number of transmission data items per frame using the result calculated by the equation (1), and using a difference between the calculated number and the number of bits before the rate matching, and parameters calculated from those values, performs the rate matching. Then, data items on one or a plurality of channels subjected to the rate matching are connected to be transmitted.
FIG. 1 is a conceptual view showing Ni,j, Ndata,j, Zi,j and ΔNi,j. In addition, the number of channels is “3” in FIG. 1.
Each of the channel 1 (TrCH#1) and channel 2 (TrCH#2) has the number of bits less than the regulated number, and therefore the repetition is performed. The channel 3 (TrCH#3) has the number of bits equal to or more than the regulated number, and therefore the puncturing is performed. That is, the repetition corresponding to ΔN1,j is performed on the channel 1, the repetition corresponding to ΔN2,j is performed on the channel 2, and the puncturing corresponding to ΔN3,j is performed on the channel 3.
An example for calculating Zi,j is explained herein. In the example, it is assumed that Ndata,j is 2400 bits and the number of channels is “4”. It is further assumed that RMi and the number of bits before the rate matching on each channel are values illustrated in FIG. 2.
The number of increase or decrease bits ΔNi,j is expressed by the equation (2):ΔNij=Zij−Zi−1j−Nij for alli=1 . . . I  (2)Calculation of the Denominator
The solution of the denominator of the equation (1) is “4991220” as indicated by the equation (3):                                                                                           ∑                                      m                    =                    1                                    4                                ⁢                                                      RM                    m                                    ·                                      N                    mj                                                              =                            ⁢                                                (                                      256                    ×                    270                                    )                                +                                  (                                      250                    ×                    690                                    )                                +                                  (                                      240                    ×                    540                                    )                                +                                                                                                      ⁢                              (                                  200                  ×                  600                                )                                                                                        =                            ⁢              491220                                                          (        3        )            Calculation of ΔNi,j
With respect to TrCH#1, Z1,j is “337” as indicated by the equation (4):                               Z                      1            ⁢            j                          =                              ⌊                                                                                ∑                                          m                      =                      1                                        1                                    ⁢                                                            RM                      m                                        ·                                          N                      mj                                                                      491220                            ·                              N                dataj                                      ⌋                    =                                    ⌊                                                                    256                    ×                    270                                    491220                                ×                2400                            ⌋                        =            337                                              (        4        )            
Thereby, ΔN1,j is “67” as indicated by the equation (5):ΔN1j=Zij−Z0j−N1j=337−0−270=67  (5)
Similarly, with respect to TrCH#2, Z2,j is “1180” as indicated by the equation (6):                                                                         Z                                  2                  ⁢                  j                                            =                            ⁢                              ⌊                                                                                                    ∑                                                  m                          =                          1                                                2                                            ⁢                                                                        RM                          m                                                ·                                                  N                          mj                                                                                      491220                                    ·                                      N                    dataj                                                  ⌋                                                                                        =                            ⁢                              ⌊                                                                                                    256                        ×                        270                                            +                                              250                        ×                        690                                                              491220                                    ×                  2400                                ⌋                                                                                        =                            ⁢              1180                                                          (        6        )            
Further, ΔN2,j is “153” as indicated by the equation (7).
 ΔN2j=Z2j−Z1j−N2j=1180−337−690=153  (7)
Moreover, with respect to TrCH#3, Z3,j is “1813” as indicated by the equation (8).                                                                         Z                                  3                  ⁢                  j                                            =                            ⁢                              ⌊                                                                                                    ∑                                                  m                          =                          1                                                3                                            ⁢                                                                        RM                          m                                                ·                                                  N                          mj                                                                                      491220                                    ·                                      N                    dataj                                                  ⌋                                                                                        =                            ⁢                              ⌊                                                                                                    256                        ×                        270                                            +                                              250                        ×                        690                                            +                                              240                        ×                        540                                                              491220                                    ×                  2400                                ⌋                                                                                        =                            ⁢              1813                                                          (        8        )            
Further, ΔN3,j is “93” as indicated by the equation (9):ΔN3j=Z3j−Z2j−N3j=1813−1180−540=93  (9)
Then, with respect to TrCH#4, Z4,j is “2400” as indicated by the equation (10):                                                                         Z                                  4                  ⁢                  j                                            =                            ⁢                              ⌊                                                                                                    ∑                                                  m                          =                          1                                                4                                            ⁢                                                                        RM                          m                                                ·                                                  N                          mj                                                                                      491220                                    ·                                      N                    dataj                                                  ⌋                                                                                        =                            ⁢                              ⌊                                                                                                    256                        ×                        270                                            +                                              250                        ×                        690                                            +                                              240                        ×                        540                                            +                                              200                        ×                        600                                                              491220                                    ×                  2400                                ⌋                                                                                        =                            ⁢              2400                                                          (        10        )            
Further, ΔN4,j is “−13” as indicated by the equation (11):ΔN4j=Z4j−Z3j−N4j=2400−1813−600=13  (11)
As described above, the number of increase or decrease bits ΔNi,j on each channel is as illustrated in FIG. 3. That is, TrCH#1 has +67 (Repetition), TrCh#2 has +153 (Repetition), TrCH#3 has +93 (Repetition), and TrCH#4 has −13 (Puncturing).
The calculations of rate matching parameters are performed in a channel codec section in each of transmitting and receiving factions in a mobile station apparatus and a base station apparatus.
FIG. 4 is a block diagram illustrating a configuration of a channel codec section in a receiving function in a mobile station apparatus. FIG. 5 is a block diagram illustrating a configuration of a channel codec section in a receiving function in a base station apparatus. FIG. 6 is a block diagram illustrating a configuration of a channel codec section in a transmitting function in the mobile station apparatus. FIG. 7 is a block diagram illustrating a configuration of a channel codec section in a transmitting function in the base station apparatus.
In these figures, each of reference numerals 1, 2, 3 and 4 denotes a rate matching parameter calculator for calculating rate matching parameter. Rate matching parameter calculator 1 in the transmitting function outputs rate matching parameters Xi, eini, eplus, and eminus, and based on these rate matching parameters, rate matching processor 5 performs the rate matching processing. Further, rate matching parameter calculator 2 in the transmitting function outputs rate matching parameters Xi, eini, eplus, and eminus. Then, based on these rate matching parameters, rate matching processor 6 performs the rate matching processing.
Meanwhile, rate matching parameter calculator 3 in the receiving function outputs rate matching parameters Xi, eini, eplus, and eminus. Then, based on these rate matching parameters, rate matching processor 7 performs the rate matching processing.
Further, rate matching parameter calculator 4 in the receiving function outputs rate matching parameters Xi, eini, eplus, and eminus. Then, based on these rate matching parameters, rate matching processor 8 performs the rate matching processing.
The operations of rate matching parameter calculations 1 to 4 are indicated in corresponding flowcharts in FIGS. 8 to 12. FIG. 8 is a flowchart showing the operation of rate matching parameter calculator 1, FIGS. 9 to 11 are flowcharts showing the operation of the rate matching parameter calculator 2, and FIG. 12 is a flowchart showing the operation of rate matching parameter calculator 4. In addition, the operation of rate matching parameter calculator 3 is the same as the operation of rate matching parameter calculator 2, and is omitted in showing the flowchart thereof.
Rate matching parameter calculator 1 determines Ndata,j using a type of data and the number of channels (step 1), and then determines the number of increase or decrease bits on each channel (step 2). After determining the number of increase or decrease bits on each channel, the calculator 1 calculates rate matching parameters Xi, eini, eplus and eminus (step 3).
Rate matching parameter calculator 2 first receives as its input the number of channels on CCTrCH (step 10). Then, the calculator 2 judges the type of rate matching (step 11). In this case, there are two types of rate matching, namely, Fixed Position and Flexible Position. In the case of Fixed Position, the processing flow proceeds to step 12. At step 12, Ni, . is calculated.
After calculating Ni,., it is judged whether a mode is a normal mode or a compressed mode by SF/2 (Spreading factor reduction) (step 13). In the case of the Fixed Position with the normal mode or compressed mode by SF/2, the processing of step 14 is executed. That is, the number of bits is calculated by which the repetition or puncturing is performed within the number of bits per frame on each TrCH, and then the number of bits is calculated by which the repetition or puncturing is performed within the number of bits per TTI on each TrCH. After calculating each of the numbers of bits, the rate matching parameters Xi, eini, eplus and eminus are calculated.
In the case of the Fixed Position with a compressed mode by puncturing, the processing of step 15 is executed after calculating Ni,. at the step 12. That is, the number of bits is calculated by which the repetition or puncturing is performed within the number of bits per frame on each TrCH, and then the number of bits is calculated by which the repetition or puncturing is performed within the number of bits per TTI on each TrCH. The calculations are performed based on the maximum TTI among all TrCH to be calculated. As an example, it is assumed that on TrCH with TrCH#1 and TrCH#2 to be calculated, TTI of TrCH#1 is 20 ms, and that TTI of TrCH#2 is 40 ms. At this point, the maximum TTI is 40 ms. Further, since TTI of TrCH#1 is 20 ms, it is considered that two TTI of TrCH#1 are contained in 40 ms. Therefore, the number of bits is calculated twice by which the repetition or puncturing is performed. Meanwhile, since TTI of TrCH#2 is 40 ms, the above calculation is performed once.
The next processing flow proceeds to step 16 to calculate Pbit that is bit for making a Gap (portion where data transmission is not performed) for the compressed mode. Pbit bits per frame are allocated to each TrCH, using on each TrCH, RMi and the number of bits per frame before the base station transmission rate matching (or receiver reception rate matching). After that, at step 17, the total number of bits for the Pbit is calculated in each TTI on each TrCH. Then, at step 18, the total number of bits for the Pbit is subtracted from the above-obtained number of increase or decrease bits, whereby the final number of increase or decrease bits in each TTI on each TrCH is obtained. After that, the rate matching parameters Xi, eini, eplus and eminus are calculated.
Meanwhile, when the judgment at the step 11 indicates Flexible Position, the processing flow proceeds to step 19, where Ni,j is calculated in all TF on all TrCH mapped on CCTrCH. After calculating Ni,j on in all TF on all TrCH, the temporary number of bits is calculated by which the repetition or puncturing is performed within the number of bits per TTI on each TrCH (step 20). D is next calculated in combination of all TF, and examined whether D exceeds Ndata,j (step 21). D is indicative of the number of bits on CCTrCH at the time of TFCj. When D exceeds Ndata,j, the number of bits is recalculated by which the repetition or puncturing is performed within the number of bits per TTI on each TrCH. On the other hand, when D does not exceed Ndata,j, the recalculation is not performed. After calculating these numbers of bits, each of the rate matching parameters Xi, eini, eplus and eminus is calculated.
Rate matching parameter calculator 3 performs the same operation as rate matching parameter calculator 2.
Rate matching parameter calculator 4 determines Δ Ni,j corresponding to the type of data and the number of channels (step 30), and then calculates each of rate matching parameters Xi, eini, eplus and eminus (step 31).
However, in the conventional rate matching calculation method, when data on a plurality of channels are connected and transmitted, it is necessary for a receiving side to fetch data for each TrCH from an accurate position where each channel is connected by a transmitting side, otherwise problems arise that data positions are all shifted and the decoding is impossible.
The previously described equation (1) is used to calculate the number of bits on each channel. In calculating the equation, there is a case that a correct result is not obtained due to the accuracy limitation in division. In such a case, there occurs a difference of the calculation result between the transmitting side and receiving side. when such a difference occurs, as described above, the receiving side is incapable of decoding, and as a result, the communication is made impossible.
It is an object of the present invention (see the Third Embodiment of the invention described below) to provide a method for first multiplying b with c and dividing a result of the multiplication by a in the equation (1) to solve the problem on the calculation accuracy. This enables both the transmitting side and the receiving side to calculate the correct number of bits and to perform excellent communications. However, in some applications, this technique may be impractical, in that the calculated value exceeds 32 bits, and it may not be possible to achieve calculating the value in a divider in an existing 32-bit calculator. To overcome this problem in such applications, the following method and apparatus is provided.